package com.lzw.breezeNovel.WebAdmin.mapper;


import com.lzw.breezeNovel.model.entity.pojo.user.AdminLogin;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Pattern;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;


@Mapper
public interface AdminLoginMapper {

    /**
     * 根据手机号查询用户
     * @param phone
     * @return
     */
    AdminLogin selectByPhone(@NotEmpty @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确") String phone, Integer id);

    /**
     * 插入用户登录记录
     * @param adminLogin
     */
    void insert(AdminLogin adminLogin);

    /**
     *
     * @param username
     * @return
     */
    AdminLogin selectByUsername(@NotEmpty(message = "用户名不能为空") String username,Integer id);

    /**
     * 根据邮箱查询用户
     * @param email
     * @return
     */
    AdminLogin selectByEmail(String email,Integer id);

    /**
     * 查询所有的用户
     * @return
     */
    Integer selectCount();

    /**
     * 分页查询用户
     * @param
     * @return
     */
    List<AdminLogin> selectByPage(AdminLogin adminLogin);

    /**
     * 批量删除用户
     * @param ids
     */
    void deleteBatch(Integer[] ids);

    void update(AdminLogin adminLogin);

    /**
     * 根据id查询用户
     * @param id
     * @return
     */
    AdminLogin selectById(Integer id);
}
